Comenzi
frame|gcc -o ex1 ex1.c./ex1 df -h Comenzi Pentru navigare în sistemul de fişiere Acestea sunt folosite pentru aflarea directorului curent, schimbarea acestuia şi listarea conţinutului. pwd='Text aldin' pwd - (print working directory) listează calea absolută a directorului curent (direcotrul în care ne aflăm) $ pwd /home/my_home_directory ---- cd cd /another/location - (change directory) schimbă directorul curent în directorul primit ca paramentru Acesta poate fi de forma: * nimic - merge în directorul home al userului $ cd - N-am folosit niciun parametru deci se preia automat home dir (notat cu ~) $ pwd - Folosesc pwd pentru verificarea directorului curent /home/my_home_directory - Acesta e directorul meu home * cale relativă - directorul respectiv trebuie să fie cuprins în cel curent (nu se foloseşte niciodată / înaintea căii) altfel primim un mesaj care spune că acel director nu există $ cd /dir1 - această comandă schimbă directrul în dir1 din / bash: cd: /dir1: No such file or directory - care nu există pentru că nu a fost creat $ cd dir1 - aici se preia ca parametru /home/my_home_directory/dir1 $ pwd - Verific directorul curent /home/my_home_directory/dir1 * cale absolută - directorul respectiv se află undeva mai sus decât directorul curent (obligatoriu se foloseşte / înaintea căii) $ cd /usr/bin $ pwd /usr/bin * .. - directorul părinte (suntem in /usr/bin de la comanda precedentă) $ cd .. $ pwd /usr * / - rădăcină $ cd / $ pwd / NOTĂ: Deplasarea într-un director care are un nume format din mai multe cuvinte se face folosind ghilimele pentru încadrarea acestora sau \ înainte de fiecare spaţiu. Exemple: cd "multiword named directory" cd multiword\ named\ directory ---- ls ls /some/directory - (list) listează conţinutul directorului primit ca parametru Acesta poate fi de forma: * nimic - listează conţinutul directorului curent (suntem în / de la comanda precedentă) $ ls bin/ etc/ initrd/ live/ media/ opt/ root/ sys/ tmp/ var/ boot/ dev/ home/ lib/ lost+found/ mnt/ proc/ sbin/ usr/ * cale relativă sau absolută - listează conţinutul directorului primit ca parametru $ ls /usr bin/ etc/ games/ include/ lib/ libexec/ local/ sbin/ share/ src/ X11R6/ * ../ - listează conţinutul directorului părinte $ cd $ pwd /home/my_home_directory $ ls ../ my_home_directory Pot fi folosite următoarele opţiuni: '-a' (all) - listează toate fişierele şi directoarele inclusiv pe cele ascunse $ ls -a Documente/ Fisier Muzica/ .Secret_dir/ .secret_file '-l' (long) - listează informaţii suplimentare $ ls -l drwxr-xr-x 2 tiberiu tiberiu 4096 2010-07-13 12:18 Desktop/ -rw-rw-r-- 1 tiberiu tiberiu 0 2010-06-24 09:53 Fisier lrwxrwxrwx 1 tiberiu tiberiu 25 2010-04-17 19:41 Muzica -> /mnt/data/Galerii/Muzica// Acest output conţine câte o linie pentru fiecare fişier/director şi mai multe coloane pentru separarea informaţiilor. Prima coloană este formată din 10 caractere ce reprezintă tipul elementului (- fisier, d director, l link) şi apoi permisiunile (r read, w write, x execute) fiind grupate câte 3 pentru owner, group şi others. A doua coloană indică numărul de scurtături către acest fişier/director. A treia coloană conţine numele ownerului în timp ce a patra numele grupului. A cincea coloană indică dimensiunea în B (bites). A şasea şi a şaptea conin data şi ora la care a fost creat sau când s-a efectuat ultima modificare. Ultima coloană reprezintă numele fişierului (nu are / la sfârşit), directorului (are / la sfârşit) sau link-ului care va indica şi fisierul sau folderul ţintă. Opţiunile -l şi -a pot fi folosite împreună sub forma -la sau -al pentru combinarea output-ului celor două; astfel vom avea descriere amănunţită pentru toate fişierele şi directoarele. Opţiunea '-h' (human) se foloseşte în combinaţie cu -l pentru afişarea dimensiunii într-un format mai usor de citit (KB, MB, GB). NOTĂ: Opţiunile prezentate sunt numai cele folosite frecvent; pentru mai multe informaţii citiţi pagina man a conenzii tastând $ man numele_conenzii într-un terminal sau mergeţi pe site-ul http://linuxmanpages.com/ şi introduceţi comanda dorită în câmpul Search For. ---- Recapitulare pwd - listează calea absolută a directorului curent cd director - merge în directorul indicat ls - listează conţinutul directorului Comenzi pentru manipularea fişierelor şi directoarelor Acestea includ crearea şi ştergerea de directoare, fişiere, redenumirea şi mutarea lor în altă parte. mkdir mkdir nume_director - (make directory) crează un director cu numele indicat Acesta poate fi sub formă de: * cale relativă - va fi creat în folderul curent $ mkdir my_dir * cale absolută - va fi creat exact în locaţia indicată $ mkdir /home/my_home_dir/my_dir NOTĂ: Crearea unui director care are un nume format din mai multe cuvinte se folosesc ghilimele pentru încadrarea acestora sau \ înainte de fiecare spaţiu. Exemple: $ mkdir "multiword named directory" $ mkdir multiword\ named\ directory Opţiunile disponibile pentru această comandă sunt: '-p' (parents) crează şi directoarele părinţi dacă este cazul $ mkdir dir1/dir2 Această comandă înseamnă crearea lui dir2 în dir1 din directorul curent. mkdir: cannot create directory `dir1/dir2/': No such file or directory Indică faptul că dir1 nu există în directorul curent. $ mkdir -p dir1/dir2 Se foloseşte opţiunea -p la crearea directoarelor $ ls listăm conţinutul directorului curent dir1 se observă că dir1 a fost creat $ cd dir1;ls schimbăm în dir1 şi listăm din nou dir2 se observă că dir2 a fost creat '-v' (verbose) - afişează output pentru fiecare operaţie $ mkdir -v my_dir mkdir: created directory `my_dir' ---- rmdir rmdir nume_director - (remove directory) şterge directorul indicat numai dacă este gol Poate primi ca argument cale relativă sau absolută şi are aceleaşi opţiuni ca mkdir ('-p', '-v'); diferenţa constă în faptul că -p va şterge directoarele părinţi. $ rmdir -p dir1/dir2 Dacă în dir 1 ar mai exista un alt director sau fişier acesta nu va putea fi şters întrucât comanda rmdir nu permite acest lucru. Pentru ştergerea unui director cu conţinut se foloseşte comanda rm prezentată mai jos. rmdir poate primi ca parametru şi * ceea ce corespunde cu orice fişier sau director. Comanda rmdir * executată într-un folder va şterge tot conţinutul acestuia dar nu şi directorul în sine. ---- touch touch nume_fişier – crează un fişier text cu numele indicat Acestă comandă este folosită numai în cazuri speciale; în mod normal fişierele sunt create de aplicaţii şi nu ca atare (ex: openoffice sau descărcate de pe net). În cazul de faţă o vom folosi pentru a crea un fişier exemplificativ. $ touch my_file ---- cp cp fişier_sursă fişier_destinaţie – (copy) copiază fişierul sau directorul indicat într-un nou loc $ cp my_file my_file1 comanda a creat o copie a fişierului my_file numită my_file1 Poate primi ca parametri calea relativă sau absolută pentru fiecare din cei 2 separat; dacă nu se indică o cale pentru destinaţie directorul sau fişierul din sursă va fi copiat direct în directorul curent. $ cp dir1/dir2/my_file my_file comanda va crea o copie a fişierului /home/my_home_dir/dir1/dir2/my_file în /home/my_home_dir/my_file De asemenea dacă la sursă nu se indică numele fişierului ci doar directorul/directoarele care îl conţin (cu / obligatoriu la sfârşit) numele se va păstra. $ cp dir1/dir2/my_file dir1/ comanda va crea o copie a fişierului /home/my_home_dir/dir2/di2/my_file în /home/my_home_dir/dir1/my_file Dacă destinaţia indicată există deja comanda va aştepta o confirmare care poate fi y pentru yes sau n pentru no. $ cp dir1/dir2/my_file my_file cp: overwrite `my_file'? Opţiunile disponibile sunt: '-v' – (verbose) afişează output pentru fiecare operaţie '-r' – (recursive) se foloseşte atunci când se doreşte copierea unui director; în mod normal comanda acceptă ca sursă numai fişiere indiferent dacă se scrie şi calea sau nu. Opţiunea -r permite specificarea unui director şi-l va copia cu tot cu conţinut (dacă există ceva) în destinaţie. $ ls dir1/ dir2/ $ cp -r dir1/ dir1.copy $ ls dir1.copy dir2/ Folosirea * la sursă înseamnă copierea întregului conţinut în destinaţie dar nu şi a directorului în sine. '-u' - (update) copiază sursa numai dacă a fost modificată mai recent decât destinaţia sau dacă nu există în destinaţie; este util pentru a ne asigura că 2 directoare au conţinut identic. ---- mv mv fişier_sursă fişier_destinaţie - (move) mută un fişier sau director în altă locaţie dar în acelaşi timp poate să şi redenumească. $ ls my_file $ mv my_file my_new_file $ ls my_new_file Poate primi cale relativă sau absolută pentru ambii parametri iar ca opţiuni are: '-f' (force) suprascrie automat dacă e cazul fără a cere confirmare de la utilizator '-u' (update) mută sursa numai dacă este mai nouă sau dacă nu există ca destinaţie '-v' (verbose) listează output pentru fiecare operaţie efectuată ---- rm rm fişier - (remove) şterge un fişier sau director $ rm my_file rm: remove regular file `my_file'? NOTĂ: Comenzile care suprascriu fişire (cp, mv, rm) cer confirmare atunci când sunt folosite de utilizatori obişnuiţi dar nu şi atunci când sunt executate de root. Pentru evitarea ştergerii accidentale se poate folosi opţiunea '-i' (interactive). Răspunsul pentru confirmare poate fi y (yes) sau n (no). ATENŢIE! Fişierele şterse din consolă nu se duc într-un folder numit Trash ca în cazul interfeţelor grafice. Odată şterse fişierele nu mai pot fi recuperate Ştergerea directoarelor care nu sunt goale se face folosind opţiunea '-r' (recursive); aceasta va determina ştergerea tuturor fişierelor, directoarelor conţinute şi apoi a directorului iniţial. Când este folosită de un utilizator obişnuit va cere confirmare pentru a intra într-un director şi apoi pentru ştergerea fiecărui fişier în parte. '-f' (force) - va răspunde automat cu y la toate confirmările. Ştergerea unui director care are un conţinut foarte mare se face folosind opţiunile -rf împreună. '-v' (verbose) listează output pentru fiecare operaţie efectuată. Folosirea * ca parametru determină ştergerea tuturor fişierelor conţinute dar nu şi a directoarelor; pentru a le şterge şi pe acestea folosiţi rmdir -r *. NOTĂ: Opţiunile prezentate sunt numai cele folosite frecvent; pentru mai multe informaţii citiţi pagina man a conenzii tastând $ man numele_conenzii într-un terminal sau mergeţi pe site-ul http://linuxmanpages.com/ şi introduceţi comanda dorită în câmpul Search For. ---- Recapitulare mkdir director - crează un director rmdir director - şterge un director gol touch fişier - crează un fisier text cp sursă destinaţie copiază un fişier sau director mv sursă destinaţie - mută sau redenumeşte un fişier sau director rm fişier/director - şterge un fişier sau director cu conţinut PRG UnderNet Comenzi root Comenzi : cat- Concateneaza si printeaza chmod - Schimba modul unui fisier chown - Schimba proprietarul unui fisier dd - Converteste si copiaza un fisier df - Afiseaza spatiul liber dir - Listeaza fisierele dintr-un director echo - Afiseaza o linie de text grep - Afiseaza o linie care intruneste o calitate gzip - Arhivator gzip gunzip - Dezarhivator gzip hostname - Afiseaza sau schimba hostname-ul sistemului kill - Omoara procesele ln - Creeaza legaturi intre fisiere ls - Listeaza fisierele dintr-un director mkdir - Creeaza un director mknod - Creeaza device-uri mount - Monteaza un device mv - Muta fisierele dintr-o sursa intr-o destinatie ps - Raporteaza statutul proceselor pwd - Printeaza cale curenta rm - Sterge un fisier/director( rm -r) rmdir - Sterge un director su - Schimba UID-ul pentru a deveni super-user tar - Arhivator/Dezarhivator tar touch - Creeaza un fisier umount - Demonteaza un device uname - Afiseaza informatii despre sistem 1.2 /sbin Aici se gasesc comenzile de baza pe care numai utilizatorul "root" are dreptul sa le execute. Comanda Descriere depmod - Se ocupa cu dependintele unui modul incarcabil in kernel dhclient - Dynamic Host Configuration Protocol Client fdisk - Program pentru manipularea partitiilor fsck - Verifica si repara sistemul de fisiere (etx2, ext3, vfat, msdos etc...) halt, reboot, poweroff, shutdown - Opreste sistemul ifconfig - Configureaza o interfata ifup, ifdown - Porneste sau opreste o interfata init, telinit - Initializeaza procesele insmod - Insereaza un modul incarcabil in kernel ldconfig - Oarecum upgradeaza cunostiintele despre librariile din sistem lilo - LInux LOader losetup - Seteaza si controleaza device-urile loop lsmod - Listeaza modulele incarcate in kernel lspci - Listeaza device-urile de pe PCI-uri mkfs - Creeaza un sistem de fisiere modinfo - Listeaza informatii despre un modul incarcabil in kernel modprobe - Cu ajutorul lui se pot manevra mai bine modulele rmmod - Sterge un modul incarcat din kernel route - Se ocupa cu manevrarea routelor runlevel Gaseste runlevel-ul curent si cel anterior setpci - Configureaza device-urile PCI start-stop-daemon -Program de pornire/oprire a daemon-ilor sysctl - Configureaza parametrii kernel-ului la pornire 1.3 /usr/bin Comanda Descriere chattr - Schimba atributele unui sistem de fisiere ext2 du - Estimeaza folosirea spatiului de catre un fisier/director file - Afla tipul unui fisier find - Cauta un fisier intr-o cale host - Program de interogare a server-elor de nume killall - Omoara un proces dupa nume last, lastlog - Afiseaza username-ul ultimului user logat in sistem less - Program de pipe logname - Afiseaza username-ul cu care te-ai logat MAI MULTE INFORMATII : IRC.UNDERNET.ORG - #OFF - ''' Comenzi pentru arhivare şi dezarhivare pentru dezarhivat avem comanda tar zxvf sau tar xvf iar pentru arhivat tar cvzf folder.tgz folder Comenzi pentru ajutor Acestea sunt folosite pentru înţelegerea rolului unei comenzi, listarea tuturor opţiunilor sau studierea sintaxei. whatis '''whatis nume_comandă - listează informaţii despre rolul unei comenzi $ whatis whatis whatis (1) - search the whatis database for complete words $ whatis mkdir mkdir (2) - create a directory $ whatis man man (1) - format and display the on-line manual pages man (7) - macros to format man pages man.config man (5) - configuration data for man man-pages (7) - conventions for writing Linux man pages info info nume_comandă - afisează o pagină informativă despre comanda primită ca parametru; navigarea se face cu săgeţile sus/jos şi pageup/pagedown ---- man man nume_comandă - listează manualul pentru comanda primită ca parametru; navigarea se face cu săgeţile sus/jos şi pageup/pagedown (space şi enter echivalează cu pagedown şi respectiv one line down) Informaţiile conţinute de cele 2 pagini sunt relativ aceleaşi diferenţa constând în modul de afişare. Folosiţi metoda care vi se pare mai practică. Terminarea comenzii man sau info se face apăsând q (quit). Work in progress...